/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package freya.dao;
import freya.util.*;

import freya.model.Escritorio;
import freya.util.HibernateUtil;
import java.util.List;
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 *
 * @author Danilo Rodrigues
 */
public class EscritorioDAO implements InterfaceEscritorioDAO {

    Log log_escr = new Log();
    private final Session session;
    
    public EscritorioDAO(){
        this.session = HibernateUtil.getSessionFactory().getCurrentSession();
    }
    
    @Override
    public void Insert(Escritorio escritorio) {
        try
        {
        Transaction tx_escritorio = (Transaction) session.beginTransaction();
        session.save(escritorio);  
        tx_escritorio.commit();
        log_escr.cadastroSucessSala();
        }
        catch(Exception e) {
            e.printStackTrace();
            log_escr.erroSalaCadastro();
        }
    }

    @Override
    public java.util.List List() {
        List<Escritorio> list = null;
        Transaction tx_escritorio = null;
        try
        {
            tx_escritorio = (Transaction) session.beginTransaction();
            list = (List<Escritorio>)session.createQuery("from Escritorio").list();
            for(Escritorio escritorio : list)
                Hibernate.initialize(escritorio.getSala());
            
        }
        catch(Exception e) {
            e.printStackTrace();
        }finally{
            tx_escritorio.commit();
        }
        return list;
    }
    
}
